#include <iostream>
#include <set>

using namespace std;
//set容器排序:set容器默认排序规则为从小到大，改变排序规则
//利用仿函数，可以改变排序规则

//set存放内置数据类型
class MyCompare {
public:
    bool operator()(int v1, int v2) {
        return v1 > v2;
    }
};

void test() {
    set<int> s1;
    s1.insert(10);
    s1.insert(40);
    s1.insert(20);
    s1.insert(50);
    s1.insert(30);

    for (set<int>::iterator it = s1.begin(); it != s1.end(); ++it) {//默认从小到大
        cout << *it << " ";
    }
    cout << endl;

    set<int, MyCompare> s2;//指定排序规则
    s2.insert(10);
    s2.insert(40);
    s2.insert(20);
    s2.insert(50);
    s2.insert(30);

    for (set<int,MyCompare>::iterator it = s2.begin(); it != s2.end(); ++it) {//默认从小到大
        cout << *it << " ";
    }
    cout << endl;
}

int main() {
    test();
    return 0;
}